{
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# K-Nearest Neighbors Algorithm Part 2"
      ],
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "import warnings\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "\n",
        "# fix_yahoo_finance is used to fetch data \n",
        "import fix_yahoo_finance as yf\n",
        "yf.pdr_override()"
      ],
      "outputs": [],
      "execution_count": 1,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# input\n",
        "symbol = 'AMD'\n",
        "start = '2014-01-01'\n",
        "end = '2018-08-27'\n",
        "\n",
        "# Read data \n",
        "dataset = yf.download(symbol,start,end)\n",
        "\n",
        "# Only keep close columns \n",
        "dataset.head()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 downloaded\n"
          ]
        },
        {
          "output_type": "execute_result",
          "execution_count": 2,
          "data": {
            "text/plain": [
              "            Open  High   Low  Close  Adj Close    Volume\n",
              "Date                                                    \n",
              "2014-01-02  3.85  3.98  3.84   3.95       3.95  20548400\n",
              "2014-01-03  3.98  4.00  3.88   4.00       4.00  22887200\n",
              "2014-01-06  4.01  4.18  3.99   4.13       4.13  42398300\n",
              "2014-01-07  4.19  4.25  4.11   4.18       4.18  42932100\n",
              "2014-01-08  4.23  4.26  4.14   4.18       4.18  30678700"
            ],
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Open</th>\n",
              "      <th>High</th>\n",
              "      <th>Low</th>\n",
              "      <th>Close</th>\n",
              "      <th>Adj Close</th>\n",
              "      <th>Volume</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Date</th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2014-01-02</th>\n",
              "      <td>3.85</td>\n",
              "      <td>3.98</td>\n",
              "      <td>3.84</td>\n",
              "      <td>3.95</td>\n",
              "      <td>3.95</td>\n",
              "      <td>20548400</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-03</th>\n",
              "      <td>3.98</td>\n",
              "      <td>4.00</td>\n",
              "      <td>3.88</td>\n",
              "      <td>4.00</td>\n",
              "      <td>4.00</td>\n",
              "      <td>22887200</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-06</th>\n",
              "      <td>4.01</td>\n",
              "      <td>4.18</td>\n",
              "      <td>3.99</td>\n",
              "      <td>4.13</td>\n",
              "      <td>4.13</td>\n",
              "      <td>42398300</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-07</th>\n",
              "      <td>4.19</td>\n",
              "      <td>4.25</td>\n",
              "      <td>4.11</td>\n",
              "      <td>4.18</td>\n",
              "      <td>4.18</td>\n",
              "      <td>42932100</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-08</th>\n",
              "      <td>4.23</td>\n",
              "      <td>4.26</td>\n",
              "      <td>4.14</td>\n",
              "      <td>4.18</td>\n",
              "      <td>4.18</td>\n",
              "      <td>30678700</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 2,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset['Up_Down'] = np.where(dataset['Adj Close'].shift(-1) > dataset['Adj Close'], 1, -1)\n",
        "dataset.head()"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 3,
          "data": {
            "text/plain": [
              "            Open  High   Low  Close  Adj Close    Volume  Up_Down\n",
              "Date                                                             \n",
              "2014-01-02  3.85  3.98  3.84   3.95       3.95  20548400        1\n",
              "2014-01-03  3.98  4.00  3.88   4.00       4.00  22887200        1\n",
              "2014-01-06  4.01  4.18  3.99   4.13       4.13  42398300        1\n",
              "2014-01-07  4.19  4.25  4.11   4.18       4.18  42932100       -1\n",
              "2014-01-08  4.23  4.26  4.14   4.18       4.18  30678700       -1"
            ],
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Open</th>\n",
              "      <th>High</th>\n",
              "      <th>Low</th>\n",
              "      <th>Close</th>\n",
              "      <th>Adj Close</th>\n",
              "      <th>Volume</th>\n",
              "      <th>Up_Down</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Date</th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2014-01-02</th>\n",
              "      <td>3.85</td>\n",
              "      <td>3.98</td>\n",
              "      <td>3.84</td>\n",
              "      <td>3.95</td>\n",
              "      <td>3.95</td>\n",
              "      <td>20548400</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-03</th>\n",
              "      <td>3.98</td>\n",
              "      <td>4.00</td>\n",
              "      <td>3.88</td>\n",
              "      <td>4.00</td>\n",
              "      <td>4.00</td>\n",
              "      <td>22887200</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-06</th>\n",
              "      <td>4.01</td>\n",
              "      <td>4.18</td>\n",
              "      <td>3.99</td>\n",
              "      <td>4.13</td>\n",
              "      <td>4.13</td>\n",
              "      <td>42398300</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-07</th>\n",
              "      <td>4.19</td>\n",
              "      <td>4.25</td>\n",
              "      <td>4.11</td>\n",
              "      <td>4.18</td>\n",
              "      <td>4.18</td>\n",
              "      <td>42932100</td>\n",
              "      <td>-1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2014-01-08</th>\n",
              "      <td>4.23</td>\n",
              "      <td>4.26</td>\n",
              "      <td>4.14</td>\n",
              "      <td>4.18</td>\n",
              "      <td>4.18</td>\n",
              "      <td>30678700</td>\n",
              "      <td>-1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 3,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X = dataset.iloc[ : , 1:4].values\n",
        "y = dataset.iloc[ : , 6].values"
      ],
      "outputs": [],
      "execution_count": 4,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Normalize Data\n",
        "from sklearn import preprocessing\n",
        "X = preprocessing.StandardScaler().fit(X).transform(X.astype(float))\n",
        "X[1:4]"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 15,
          "data": {
            "text/plain": [
              "array([[-0.63439667, -0.62549188, -0.6173066 ],\n",
              "       [-0.59827322, -0.60246516, -0.59069658],\n",
              "       [-0.58422521, -0.57734511, -0.58046196]])"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 15,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.model_selection import train_test_split  \n",
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20)\n",
        "print ('Train set:', X_train.shape,  y_train.shape)\n",
        "print ('Test set:', X_test.shape,  y_test.shape)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train set: (937, 3) (937,)\n",
            "Test set: (235, 3) (235,)\n"
          ]
        }
      ],
      "execution_count": 16,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print(X_train.shape)\n",
        "print(y_train.shape)\n",
        "print(X_test.shape)\n",
        "print(y_test.shape)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "(937, 3)\n",
            "(937,)\n",
            "(235, 3)\n",
            "(235,)\n"
          ]
        }
      ],
      "execution_count": 17,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.neighbors import KNeighborsClassifier\n",
        "\n",
        "k = 4\n",
        "#Train Model and Predict  \n",
        "neigh = KNeighborsClassifier(n_neighbors = k).fit(X_train,y_train)\n",
        "neigh"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 18,
          "data": {
            "text/plain": [
              "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
              "           metric_params=None, n_jobs=1, n_neighbors=4, p=2,\n",
              "           weights='uniform')"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 18,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Predicting\n",
        "yhat = neigh.predict(X_test)\n",
        "yhat[1:4]"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 9,
          "data": {
            "text/plain": [
              "array([-1, -1, -1])"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 9,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Accuracy evaluation\n",
        "from sklearn import metrics\n",
        "print(\"Train set Accuracy: \", metrics.accuracy_score(y_train, neigh.predict(X_train)))\n",
        "print(\"Test set Accuracy: \", metrics.accuracy_score(y_test, yhat))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train set Accuracy:  0.6776947705442903\n",
            "Test set Accuracy:  0.5574468085106383\n"
          ]
        }
      ],
      "execution_count": 10,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "k = 6\n",
        "neigh6 = KNeighborsClassifier(n_neighbors = k).fit(X_train,y_train)\n",
        "yhat6 = neigh6.predict(X_test)\n",
        "print(\"Train set Accuracy: \", metrics.accuracy_score(y_train, neigh6.predict(X_train)))\n",
        "print(\"Test set Accuracy: \", metrics.accuracy_score(y_test, yhat6))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train set Accuracy:  0.6499466382070438\n",
            "Test set Accuracy:  0.548936170212766\n"
          ]
        }
      ],
      "execution_count": 19,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "Ks = 10\n",
        "mean_acc = np.zeros((Ks-1))\n",
        "std_acc = np.zeros((Ks-1))\n",
        "ConfustionMx = [];\n",
        "for n in range(1,Ks):\n",
        "    \n",
        "    #Train Model and Predict  \n",
        "    neigh = KNeighborsClassifier(n_neighbors = n).fit(X_train,y_train)\n",
        "    yhat=neigh.predict(X_test)\n",
        "    mean_acc[n-1] = metrics.accuracy_score(y_test, yhat)\n",
        "\n",
        "    \n",
        "    std_acc[n-1]=np.std(yhat==y_test)/np.sqrt(yhat.shape[0])\n",
        "\nmean_acc"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 20,
          "data": {
            "text/plain": [
              "array([0.49787234, 0.48085106, 0.56170213, 0.52765957, 0.54042553,\n",
              "       0.54893617, 0.51489362, 0.51489362, 0.50212766])"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 20,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Plot\n",
        "plt.plot(range(1,Ks),mean_acc,'g')\n",
        "plt.fill_between(range(1,Ks),mean_acc - 1 * std_acc,mean_acc + 1 * std_acc, alpha=0.10)\n",
        "plt.legend(('Accuracy ', '+/- 3xstd'))\n",
        "plt.ylabel('Accuracy ')\n",
        "plt.xlabel('Number of Nabors (K)')\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 13,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print( \"The best accuracy was with\", mean_acc.max(), \"with k=\", mean_acc.argmax()+1) "
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "The best accuracy was with 0.5574468085106383 with k= 4\n"
          ]
        }
      ],
      "execution_count": 14,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    }
  ],
  "metadata": {
    "kernel_info": {
      "name": "python3"
    },
    "language_info": {
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "codemirror_mode": {
        "version": 3,
        "name": "ipython"
      },
      "version": "3.5.5",
      "pygments_lexer": "ipython3",
      "nbconvert_exporter": "python"
    },
    "kernelspec": {
      "name": "python3",
      "language": "python",
      "display_name": "Python 3"
    },
    "nteract": {
      "version": "0.12.2"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}